// 定义一个数组，该数组中只能放数字类型
const list1: number[] = [1, 2, 3, 4, 5]

// 该写法是错误的，因为数字类型的数组只能放数字，不能放其他数据类型
// list1.push('6')

// 泛型写法，可以传递数据类型
const list2: Array<number> = [1, 2, 3, 4, 5]

// 多数据类型的时候可以使用 | 分割
const list3: (number | string)[] = [1, 2, 3, 4, 5, '你好中国']

// 泛型写法
const list4: Array<number | string> = [1, 2, 3, 4, 5, '你好中国']

const list5: {
    name: string;
    age: number;
}[] = [
        {
            name: '张三',
            age: 18
        },
        {
            name: '李四',
            age: 18.5
        }
    ];


// 先定义好数组中对象的数据类型
interface iUser {
    name: string;
    age: number;
}
// 配置数组的类型
const list6: iUser[] = [
    {
        name: '张三',
        age: 18
    },
    {
        name: '李四',
        age: 18.5
    }
]

// 泛型写法
const list7: Array<iUser> = [
    {
        name: '张三',
        age: 18
    },
    {
        name: '李四',
        age: 18.5
    }
]

// 定义一个多数据类型
type tType = string | number | boolean

// type 可以给数组添加数据类型
const list8: tType[] = [222, 'asdasda', true, 'asdasdfx']
